hi guys,
i was wondering could someone of you perl programmers help me with a script.
I am trying to add the subroutine that reeds cpu model(s) and ram total.
I tried with this:
#cpu info subroutine
sub get_cpu {
open(CPU, 'grep "model name" /proc/cpuinfo');
print $cpu;
$cpu = <CPU>;
return $cpu;
close(CPU);
}
that was supposed to run a command in cmdline and read an output as string.
But unfortunately it doesn't work

If someone could help me it would be great.
here's the full script:
#!/usr/bin/perl -w
# basic information on your current pclos gnome release
use Gtk2 -init;
use strict;
sub get_kernelver;
sub get_gnomever;
sub get_ram;
sub get_cpu;
my $quit = sub { Gtk2->main_quit };
my $window = Gtk2::Window->new;
$window->signal_connect('delete_event', $quit);
$window->set_position('center');
$window->set_border_width(8);
$window->set_title('About');
$window->set_default_size(250, 200);
$window->set(allow_grow => 0);
#get kernel version
my $kernelver = get_kernelver();
#get gnome version
my $gnomever = get_gnomever();
my $ram = get_ram();
my $cpu = get_cpu();
my $image = Gtk2::Image->new_from_file('/usr/share/pclos-gnome-info/about.png');
my $label = Gtk2::Label->new;
my $button = Gtk2::Button->new_from_stock('gtk-quit');
my $markup = <<"END";
<b> PCLinuxOS </b>
<span foreground="red">Gnome Version</span>
Release: <span foreground="darkgreen">2010.10</span>
Build: <span foreground="darkgreen">2010/10/26</span>
Kernel: <span foreground="darkgreen">$kernelver</span>
Gnome: <span foreground="darkgreen">$gnomever</span>
$ram
$cpu
END
$label->set_justify('center');
$label->set_markup($markup);
$button->signal_connect('clicked', $quit);
my $box = Gtk2::VBox->new;
$box->set_spacing(8);
$box->pack_start($image, 0, 0, 0);
$box->pack_start($label, 0, 0, 0);
$box->pack_start($button, 0, 0, 0);
$window->add($box);
$window->show_all;
#kernel version subroutine
sub get_kernelver {
my $kernelver = qx(uname -r);
chomp $kernelver;
return $kernelver;
}
#gnome version subroutine
sub get_gnomever {
my $gnomever = qx(rpm -q --qf "%{VERSION}\n" gnome-desktop);
chomp $gnomever;
return $gnomever;
}
#ram info subroutine
sub get_ram {
open(RAM, "grep MemTotal /proc/cpuinfo");
$ram = <RAM>;
return $ram;
close(RAM);
}
#cpu info subroutine
sub get_cpu {
open(CPU, 'grep "model name" /proc/cpuinfo');
print $cpu;
$cpu = <CPU>;
return $cpu;
close(CPU);
}
Gtk2->main;
exit;