#!/usr/bin/perl

use Net::FTP ;

$server = "FTP Server" ;

$user = "FTP User" ;
$pass = "FTP Pass" ;

$file = "ip.txt" ;

$ftp = Net::FTP -> new ( $server, Debug => 0 ) || die "Verbinden mit $server nicht möglich \n", $ftp -> message ;
$ftp -> login ( $user, $pass ) || die "Fehler beim Einloggen\n", $ftp -> message ;
$ftp -> cwd ( "/home" ) || die "Cannot change directory\n", $ftp -> message ;

if ( $ftp -> get ( "give_ip.txt" ) )
{
  &createIP ( ) ;
  $ftp -> delete ( "give_ip.txt" ) ;
  $ftp -> put ( $file ) || die "put failed\n", $ftp -> message ;
  $ftp -> quit ( ) ;
}
else
{
  $ftp -> quit ( ) ;
}

unlink ( "give_ip.txt" ) ;
unlink ( "ip.txt" ) ;

sub createIP
{
  # create ip.txt
  system ( "wget http://cmyip.com -O ip.txt" ) ;
  open ( ip , "<", "$file" ) ;
  @ip = <ip> ;
  close ( ip ) ;
  $ip[5] =~ /<**>My IP Address Is\s+?(.*?)\s+?-/ ;
  $addr = $1 ;
  open ( ip, ">", "$file" ) ;
  print ip $addr ;
  close ( ip ) ;
  # end create
}

