LINUX.ORG.RU

[Perl] При отладке не отображаются переменные

 


0

1

Есть скрипт вроде

use DBI;
use Fcntl; #The Module


$database = "xxx";
$host = "xxxx";

$driver = "mysql";
$data_source = "DBI:$driver:database=$database;host=$host";

$username = "user";
$password = "somepasswd"; 

$dbh = DBI->connect($data_source, $username, $password)
	or die $DBI::errstr;
	
$query = "SELECT inet_ntoa(ip) FROM users JOIN ip_networks ON inet_ntoa(ip&mask)=inet_ntoa(ip_networks.network)
			WHERE ip_networks.router_id=crc32('xxx') ORDER BY ip";

$query_handle = $dbh->prepare($query);

# EXECUTE THE QUERY
$query_handle->execute();

# BIND TABLE COLUMNS TO VARIABLES
$query_handle->bind_columns(undef, \$ip);

$data = `cat test.txt| grep -E -o '[0-9,aAbBcCdDeEfF]{1,2}(\:[0-9,aAbBcCdDeEfF;]{1,3}){5}'`;



print "$data\n";
#print $result;

sysopen ( FF, "file.txt", O_WRONLY | O_CREAT | O_TRUNC);

while ($query_handle->fetch()){
	print (FF "$ip\n");
}

close (FF ) or die "Ошибка закрытия файла: $!";


$dbh->disconnect
	or warn $dbh->errstr;
При отладке почему-то не отображается ни одна переменная, вроде $data.

Как тогда глянуть содержимое переменных во время отладки? ЧЯДНТ?

Gentoo amd64.
Perl v5.12.2

смотря чем дебажить…

УМВР.

bash-4.1$ cat test.pl 
#!/usr/bin/perl

my $text = "Hello, world!";
my $num  = 100500;
my @arr  = qw/one two three/;
my %hash = (one => 1, two => 2);

print $text;
bash-4.1$ perl -MData::Dumper -d test.pl 

Loading DB routines from perl5db.pl version 1.33
Editor support available.

Enter h or `h h' for help, or `man perldebug' for more help.

main::(test.pl:3):      my $text = "Hello, world!";
  DB<1> s
main::(test.pl:4):      my $num  = 100500;
  DB<1> 
main::(test.pl:5):      my @arr  = qw/one two three/;
  DB<1> 
main::(test.pl:6):      my %hash = (one => 1, two => 2);
  DB<1> 
main::(test.pl:8):      print $text;
  DB<1> print $num
100500
  DB<2> print $text
Hello, world!
  DB<3> print $arr[1]
two
  DB<4> print $hash{one}
1
  DB<5> print Dumper \%hash
$VAR1 = {
          'one' => 1,
          'two' => 2
        };

  DB<6> print Dumper \@arr
$VAR1 = [
          'one',
          'two',
          'three'
        ];

  DB<7> q
bash-4.1$

arsi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.